<?php
/**
  * Box type par defaut: utilisez ces fichiers pour creer vos propres types de box.
  * Interface d'administration pour regler les parametres du box.
  * Developpe par Rodrigue LE GALL
  *
  * Les variables $env et $box sont disponibles et representent l'environnement et le box.
  * La variable $modif est reservee.
  */
  
if($action=='process'){
        
        /**
          * Le code de votre  box se trouve apres
          */
        if($addbox!='0'){
            if($param->get('nbbox')==''){$param->set('nbbox',0);}
            $addbox=explode(":",$addbox);
            $listebox=$param->get('listebox');
            $listebox[$param->get('nbbox')]=$addbox[1];
            $param->set('listebox',$listebox);
            $listeboxrep=$param->get('listeboxrep');
            $listeboxrep[$param->get('nbbox')]=$addbox[2];
            $param->set('listeboxrep',$listeboxrep);
            $param->set('nbbox',$param->get('nbbox')+1);
        }
        if($subaction==''){
            $param->set('alignement',$alignement);
            $param->set('separateur',$sep);
        }
        if($subaction!=''){$next=1;}
        if(($subaction=='supp')&&($param->get('nbbox')>0)){
            $param->set('nbbox',$param->get('nbbox')-1);
            $listebox=$param->get('listebox');
            $listeboxrep=$param->get('listeboxrep');
            for($i=0;$i<$listeid;$i++){
                $listeboxnew[$i]=$listebox[$i];
                $listeboxrepnew[$i]=$listeboxrep[$i];
            }
            for($i=$listeid;$i<$param->get('nbbox');$i++){
                $listeboxnew[$i]=$listebox[$i+1];
                $listeboxrepnew[$i]=$listeboxrep[$i+1];
            }
            $param->set('listebox',$listeboxnew);
            $param->set('listeboxrep',$listeboxrepnew);
        }
        if(($subaction=='up')&&($listeid>0)){
            $listebox=$param->get('listebox');
            $listeboxrep=$param->get('listeboxrep');
            $temp=$listebox[$listeid-1];
            $listebox[$listeid-1]=$listebox[$listeid];
            $listebox[$listeid]=$temp;
            $temp=$listeboxrep[$listeid-1];
            $listeboxrep[$listeid-1]=$listeboxrep[$listeid];
            $listeboxrep[$listeid]=$temp;
            $param->set('listebox',$listebox);
            $param->set('listeboxrep',$listeboxrep);
        }
        /**
          * Fin de votre Code
          */
        $box->setparam($param);
        $env->setbox($argid,$box);
        $modif = "Administration du box ".$box->getnom().".\n" . $modif;
        $query="UPDATE environnement SET environnement='".$env->serialize()."',lastmod=NOW(),modification='".addslashes($modif)."' WHERE id='$envid'";
        @rportalrequete($query) or die ("ERREUR: $query<br />");	
        if($next==0){
            header("Location: ?op=admenvmod&argid=$envid");
            exit;
        }
    }
    
    require_once('module/TPLN/TPLN.php');
    $TPLN = new TPLN;
	$L_base_env = get_env_path();
    $TPLN->Open(get_path_box($box->gettypenom()).'admin.html');
    $TPLN->IncludeFile("header",$L_base_env.$session['environnement']."/header.php");
    $TPLN->IncludeFile("footer",$L_base_env.$session['environnement']."/footer.php");
    $TPLN->Parse("box_nom",$box->getnom());
    $TPLN->Parse("type_nom",$box->gettypenom());
    $TPLN->Parse("type_description",nl2br($box->gettypedescription()));
    $TPLN->Parse("type_dir",$box->getrepertoire());
    $TPLN->Parse("boxid",$box->getid());
    $TPLN->Parse("envid",$envid);
    /**
      * Le code de votre  box se trouve apres
      */
    /**
      * alignement : vertical=1
      */
    if($param->get('alignement')==0){
        $TPLN->Parse("v_select",'');
        $TPLN->Parse("h_select",'selected');
    }else{
        $TPLN->Parse("h_select",'');
        $TPLN->Parse("v_select",'selected');
    }
    $TPLN->Parse("separateur",$param->get('separateur'));
    /**
      * liste des boxs inclus:
      * nbbox : nb de box;
      * listebox : liste des noms des boxs
      * listeboxid : liste des id des boxs
      */
    if($param->get('nbbox')==0){
        $TPLN->EraseBloc('liste');
    }else{
        $listebox = $param->get('listebox');
        for($i=0;$i<$param->get('nbbox');$i++){
            $TPLN->Parse("liste.liste_nom",$listebox[$i]);
            $TPLN->Parse("liste.liste_id",$i);
            $TPLN->Loop('liste');
        }
    
    }
    /**
      * Ajout d'un box
      */
    if($env->getnbbox()==1){$TPLN->EraseBloc('box');}else{
        for($i=0;$i<$env->getnbbox();$i++){
            if($i!=$box->getid()){
                $Tbox = $env->getbox($i);
                $TPLN->Parse("box.boxliste_id",$Tbox->getid());
                $TPLN->Parse("box.boxliste_nom",$Tbox->getnom());
                $TPLN->Parse("box.boxliste_repertoire",$Tbox->getrepertoire());
                $TPLN->Loop('box');
            }
        }
    }
    /**
      * Fin de votre Code
      */
    $TPLN->Write();
    exit;
?>
